<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
        1.如何产生闭包?
            *当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时，就产生了闭包
        2.闭包到底是么?
            *使用chrome调试查看
            *理解一:闭包是嵌套的内部函数(绝大部分人)
            *理解二:包含被引用变量(函数)的对象(极少数人)
            *注意:闭包存在于嵌套的内部函数中
        3.产生闭包的条什?
            *函数嵌套
            *内部函数引用了外部函数的数据(变量/函数)
     -->

     <script>
        function fn1(){
            var a = 2
            function fn2(){      //执行函数定义就会产生闭包(不用调用内部函数)
                console.log(a);
            }
        }
     </script>
</body>
</html>